#ifndef __P2PServerApp_H
#define __P2PServerApp_H

#include <Poco/Util/ServerApplication.h>
#include <Poco/ThreadPool.h>
#include <Poco/NamedEvent.h>
#include <Poco/AutoPtr.h>
#include <Poco/DynamicFactory.h>
#include <GenericServerApp.h>


class StopRootApplicationNotification;
class P2PServerApp :
	public GenericServerApp
{
public:
	P2PServerApp(void);
	virtual ~P2PServerApp(void);
protected:
	virtual void RegisterSubsystemClasses() ;

	//void initialize(Application& self); // load default configuration files, if present
	//void uninitialize();

	//void defineOptions(Poco::Util::OptionSet& options);

	//void handleOption(const std::string& name, const std::string& value);

	//void displayHelp();

	//void HandleStopRootApp(const Poco::AutoPtr<StopRootApplicationNotification>& aNotification);
public:
	//int main(const std::vector<std::string>& args);

protected:
	//Poco::NamedEvent iStopEvent;

	//bool _helpRequested;
	//bool iStopRunningServer;
	//Poco::ThreadPool iServerThreadPool;
	//Poco::DynamicFactory<Poco::Util::Subsystem> iSubSystemFactory;
	
};


#endif